home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gigantic Games 2
/
Gigantic Games 2.iso
/
pc
/
_a_
/
abitur
/
txt
/
linereader.mod
< prev
next >
Wrap
Text File
|
1994-12-23
|
902b
|
43 lines
IMPLEMENTATION MODULE LineReader;
FROM Dos IMPORT FileHandlePtr, Read;
FROM Str IMPORT Length;
FROM SYSTEM IMPORT ADR;
CONST EOL = CHR(10); (* = 12C octal *)
EOF = 34C;
PROCEDURE ReadALine(F: FileHandlePtr; VAR S: ARRAY OF CHAR;
VAR EOFile: BOOLEAN);
VAR StrPos: INTEGER;
StrLen: INTEGER;
Act: LONGINT;
BEGIN (* ReadALine *)
StrLen := HIGH(S) - 1;
EOFile := FALSE;
REPEAT
StrPos := 0;
REPEAT
Act := Read(F, ADR(S[StrPos]), 1);
IF Act = 0 THEN
EOFile := TRUE
END;
INC(StrPos)
UNTIL (StrPos >= StrLen) OR EOFile OR (S[StrPos-1] = EOL);
IF StrPos < StrLen THEN
S[StrPos-1] := 0C
ELSE
S[StrPos] := 0C
END
UNTIL EOFile OR (Length(S) > 0);
IF Length(S) > 0 THEN
EOFile := FALSE
END;
END ReadALine;
BEGIN (* LineReader *)
END LineReader.